/*
 * @Description: 鼠标点击事件
 * @Author: zheng yiliang
 * @Date: 2021-06-13 14:38:56
 * @LastEditTime: 2021-06-13 16:21:05
 * @LastEditors: zheng yiliang
 */
/* eslint-disable */
//鼠标点击爱心特效  放入js中即可

!function (e, t, a) {
  function r () {
    for (var e = 0; e < s.length; e++)
      s[e].alpha <= 0 ? (t.body.removeChild(s[e].el), s.splice(e, 1)) :
        (s[e].y--, s[e].scale += .004, s[e].alpha -= .013,
          s[e].el.style.cssText = `
          left: ${s[e].x}px;
          top: ${s[e].y}px;
          opacity: ${s[e].alpha};
          transform: scale(${s[e].scale},${s[e].scale}) rotate(45deg);
          color: ${s[e].color};
          background: ${s[e].color};
          z-index: 99999
          `);
    requestAnimationFrame(r)
  }
  function n () {
    var t = "function" == typeof e.onclick && e.onclick;
    e.onclick = function (e) {
      t && t(),
        o(e)
    }
  }
  function o (e) {
    var a = t.createElement("div");

    a.className = "heart"
    // a.style.cssText = 'position: relative;'
    s.push({
      el: a,
      x: e.clientX - 5,
      y: e.clientY - 5,
      scale: 1,
      alpha: 1,
      color: c()
    })
    var spanDOM = t.createElement('p')
    spanDOM.style.cssText = 'transform: rotate(-45deg);white-space: nowrap;margin-left: 8px;margin-top: -4px'
    spanDOM.innerHTML = text()
    t.body.appendChild(a).appendChild(spanDOM)
    // .innerHTML = text()
    // .innerHTML = text()
  }
  function text () {
    let a = Math.floor(Math.random() * 10)
    let arr = [
      '❤有阳光的地方就会有阴影，所以有阴影的地方就一定会有阳光。❤',
      '❤眼泪这东西啊，是流出来就能把辛酸和悲伤都冲走的好东西。❤',
      '❤与其想着如何漂亮地死去，还不如漂亮地活到生命的最后。❤',
      '❤人生，就像肥皂泡一样。❤',
      '❤自由不是无法无天而是按照自己的规则活下去。❤',
      '❤在太阳休息的时候，我们就是照亮夜空的太阳哦！❤',
      '❤顺便说一下，虽然今天工作很忙，不过我跷班了。❤',
      '❤人就是要以自卑为跳板才能跳得更高。❤',
      '❤真正重要的东西，总是没有的人比拥有的人清楚。❤',
      '❤绝望的颜色越是浓厚，在哪里也一定会存在耀眼的希望之光。❤'
    ]
    return arr[a]
  }
  function i (e) {
    var a = t.createElement("style");
    a.type = "text/css";
    try {
      a.appendChild(t.createTextNode(e))
    } catch (t) {
      a.styleSheet.cssText = e
    }
    // t.getElementsByTagName("head")[0].innerHTML = text()
    t.getElementsByTagName("head")[0].appendChild(a)
  }
  function c () {
    return "rgb(" + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + ")"
  }
  var s = [];
  e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame ||
    function (e) {
      setTimeout(e, 1e3 / 60)
    },
    i(`
    .heart{
      width: 10px;
      height: 10px;
      position: fixed;
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
    }
    .heart:after,.heart:before{
        content: '';
        width: inherit;
        height: inherit;
        background: inherit;
        border-radius: 50%;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        position: fixed;
      }
      .heart:after{top: -5px;}
      .heart:before{left: -5px;}
    `),
    n(),
    r()
}(window, document);


// /**************** 光标渲染 *******************/
// function text () {
//   let a = Math.floor(Math.random() * 10)
//   let arr = [
//     '❤有阳光的地方就会有阴影，所以有阴影的地方就一定会有阳光。❤',
//     '❤眼泪这东西啊，是流出来就能把辛酸和悲伤都冲走的好东西。❤',
//     '❤与其想着如何漂亮地死去，还不如漂亮地活到生命的最后。❤',
//     '❤人生，就像肥皂泡一样。❤',
//     '❤自由不是无法无天而是按照自己的规则活下去。❤',
//     '❤在太阳休息的时候，我们就是照亮夜空的太阳哦！❤',
//     '❤顺便说一下，虽然今天工作很忙，不过我跷班了。❤',
//     '❤人就是要以自卑为跳板才能跳得更高。❤',
//     '❤真正重要的东西，总是没有的人比拥有的人清楚。❤',
//     '❤绝望的颜色越是浓厚，在哪里也一定会存在耀眼的希望之光。❤'
//   ]
//   return arr[a]
// }
// class Circle {
//   constructor({ origin, speed, color, angle, context }) {
//     this.origin = origin
//     this.position = { ...this.origin }
//     this.color = color
//     this.speed = speed
//     this.angle = angle
//     this.context = context
//     this.renderCount = 0
//   }

//   draw () {
//     this.context.fillStyle = this.color
//     this.context.beginPath()
//     this.context.arc(this.position.x, this.position.y, 2, 0, Math.PI * 2)
//     this.context.fill()
//   }

//   move () {
//     this.position.x = (Math.sin(this.angle) * this.speed) + this.position.x
//     this.position.y = (Math.cos(this.angle) * this.speed) + this.position.y + (this.renderCount * 0.3)
//     this.renderCount++
//   }
// }

// class Boom {
//   constructor({ origin, context, circleCount = 10, area }) {
//     this.origin = origin
//     this.context = context
//     this.circleCount = circleCount
//     this.area = area
//     this.stop = false
//     this.circles = []
//   }

//   randomArray (range) {
//     const length = range.length
//     const randomIndex = Math.floor(length * Math.random())
//     return range[randomIndex]
//   }

//   randomColor () {
//     const range = ['8', '9', 'A', 'B', 'C', 'D', 'E', 'F']
//     return '#' + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range)
//   }

//   randomRange (start, end) {
//     return (end - start) * Math.random() + start
//   }

//   init () {
//     for (let i = 0; i < this.circleCount; i++) {
//       const circle = new Circle({
//         context: this.context,
//         origin: this.origin,
//         color: this.randomColor(),
//         angle: this.randomRange(Math.PI - 1, Math.PI + 1),
//         speed: this.randomRange(1, 6)
//       })
//       this.circles.push(circle)
//     }
//   }

//   move () {
//     this.circles.forEach((circle, index) => {
//       if (circle.position.x > this.area.width || circle.position.y > this.area.height) {
//         return this.circles.splice(index, 1)
//       }
//       circle.move()
//     })
//     if (this.circles.length == 0) {
//       this.stop = true
//     }
//   }

//   draw () {
//     this.circles.forEach(circle => circle.draw())
//   }
// }

// class CursorSpecialEffects {
//   constructor() {
//     this.computerCanvas = document.createElement('canvas')
//     this.renderCanvas = document.createElement('canvas')

//     this.computerContext = this.computerCanvas.getContext('2d')
//     this.renderContext = this.renderCanvas.getContext('2d')

//     this.globalWidth = window.innerWidth
//     this.globalHeight = window.innerHeight

//     this.booms = []
//     this.running = false
//   }

//   handleMouseDown (e) {
//     const boom = new Boom({
//       origin: { x: e.clientX, y: e.clientY },
//       context: this.computerContext,
//       area: {
//         width: this.globalWidth,
//         height: this.globalHeight
//       }
//     })
//     boom.init()
//     this.booms.push(boom)
//     this.running || this.run()
//   }

//   handlePageHide () {
//     this.booms = []
//     this.running = false
//   }

//   init () {
//     const style = this.renderCanvas.style
//     style.position = 'fixed'
//     style.top = style.left = 0
//     style.zIndex = '999999999999999999999999999999999999999999'
//     style.pointerEvents = 'none'

//     style.width = this.renderCanvas.width = this.computerCanvas.width = this.globalWidth
//     style.height = this.renderCanvas.height = this.computerCanvas.height = this.globalHeight

//     document.body.append(this.renderCanvas)

//     window.addEventListener('mousedown', this.handleMouseDown.bind(this))
//     window.addEventListener('pagehide', this.handlePageHide.bind(this))
//   }

//   run () {
//     this.running = true
//     if (this.booms.length == 0) {
//       return this.running = false
//     }

//     requestAnimationFrame(this.run.bind(this))

//     this.computerContext.clearRect(0, 0, this.globalWidth, this.globalHeight)
//     this.renderContext.clearRect(0, 0, this.globalWidth, this.globalHeight)

//     this.booms.forEach((boom, index) => {
//       if (boom.stop) {
//         return this.booms.splice(index, 1)
//       }
//       boom.move()
//       boom.draw()
//     })
//     this.renderContext.drawImage(this.computerCanvas, 0, 0, this.globalWidth, this.globalHeight)
//   }
// }

// const cursorSpecialEffects = new CursorSpecialEffects()
// cursorSpecialEffects.init()



